package com.chenziwen.scala.chapter06
// 自身类型
// 主要是为了解决特质的循环依赖问题，同时可以确保特质在不扩展某个类的情况下，依然可以做到限制混入该特质的类的类型。
class Scala_Trait9 {
  def main(args: Array[String]): Unit = {

  }
}

trait Logger9 {
  // 明确告诉编译器，我就是Exception
  this: Exception =>

  def log: Unit = {
    // 既然我就是Exception, 那么就可以调用其中的方法
    println(getMessage)
  }
}

class Console9 extends Exception with Logger9 {

}
